﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Libreria.DAL;

namespace Libreria.SICOM.Modelo
{
    [CAD(true, CAD.TiposBD._SQLServer, "TIPO_POR_EQUIPO")]
     public class TiposporEquipo
    {
        // Atributo de abstracción
        public MOR accesoADatos;
        //Atributos de la clase
        private Int32? iddeequipo;
        private Int32? idtipodemuestra;
        //Constructor de la clase
        public TiposporEquipo()
        {
            
        }
        
        public TiposporEquipo(String CadenaDeConexion)
        {
            this.accesoADatos = MOR.Instance(CadenaDeConexion);
        }

        [Tipo(Tipo.TiposSQLServer._int, "EQUI_ID", true, false)]
        public int? Iddeequipo
        {
            get { return iddeequipo; }
            set { iddeequipo = value; }
        }
        [Tipo(Tipo.TiposSQLServer._int, "TIPOM_ID", true, false)]
        public int? Idtipodemuestra
        {
            get { return idtipodemuestra; }
            set { idtipodemuestra = value; }
        }

        public List<TiposporEquipo> consultarPorIdentificador(Int32? idtipodemuestra)
        {
            this.idtipodemuestra = idtipodemuestra;
            List<Object> registros = this.accesoADatos.consultarRegistros(this, true);
            List<TiposporEquipo> resultado = null;
            if (registros != null)
            {
                if (registros.Count == 1)
                {
                    resultado = (List<TiposporEquipo>)registros[0];
                }
            }
            return resultado;
        }

        public List<TiposporEquipo> consultar()
        {
            List<Object> registros = this.accesoADatos.consultarRegistros(this, false);
            List<TiposporEquipo> resultado = new List<TiposporEquipo>();
            foreach (Object registro in registros)
            {
                resultado.Add((TiposporEquipo)registro);
            }
            return resultado;
        }

        public void crear()
        {
            this.accesoADatos.crearRegistro(this);
        }

        public void eliminar()
        {
            this.accesoADatos.borrarRegistro(this);
        }

    }
}
